package com.example.dance.util;


import com.example.dance.pojo.Result;

public class ReturnResultUtil {

    // 成功返回结果，包含数据
    public static Result success(Object data) {
        return new Result(1, "操作成功", data);
    }

    // 成功返回结果，无数据
    public static Result success() {
        return success(null);
    }

    // 失败返回结果，包含错误信息
    public static Result failure(String msg) {
        return new Result(0, msg, null);
    }

    // 参数错误返回结果
    public static Result parameterError(String msg) {
        return new Result(0, "参数错误: " + msg, null);
    }

    // 未授权返回结果
    public static Result unauthorized(String msg) {
        return new Result(0, "未授权: " + msg, null);
    }

    // 未找到返回结果
    public static Result notFound(String msg) {
        return new Result(0, "未找到: " + msg, null);
    }

    // 自定义返回结果
    public static Result custom(int code, String msg, Object data) {
        if (code != 0 && code != 1) {
            throw new IllegalArgumentException("code 必须是 0 或 1");
        }
        return new Result(code, msg, data);
    }

    // 操作超时返回结果
    public static Result timeout(String msg) {
        return new Result(0, "操作超时: " + msg, null);
    }

    // 内部服务器错误返回结果
    public static Result internalServerError(String msg) {
        return new Result(0, "内部服务器错误: " + msg, null);
    }
}
